#ifndef CHRONOMETER_INC
#define CHRONOMETER_INC

#include <time.h>

/*
 * =====================================================================================
 *        Class:  Chronometer
 *  Description:  Classe que representa um cronômetro
 * =====================================================================================
 */
class Chronometer
{

public:

    /*-----------------------------------------------------------------------------
     *  Constrói um cronômetro, começando o contador
     *-----------------------------------------------------------------------------*/
    Chronometer();

    /*-----------------------------------------------------------------------------
     *  Reseta o cronômetro
     *-----------------------------------------------------------------------------*/
    void reset();

    /*-----------------------------------------------------------------------------
     *  Retorna o tempo atual em segundos
     *-----------------------------------------------------------------------------*/
    double getSeconds();

    /*-----------------------------------------------------------------------------
     *  Retorna o tempo atual em milisegundos
     *-----------------------------------------------------------------------------*/
    double getMiliseconds();

private:

    /*-----------------------------------------------------------------------------
     *  Estrutura utilizada pelo cronômetro 
     *-----------------------------------------------------------------------------*/
    struct timespec init;

};

#endif
